De `header`-functie in PHP is een ingebouwde functie die voornamelijk wordt gebruikt om HTTP-headers naar de browser van de client te sturen. Dit is een cruciaal aspect van het beheer van de HTTP-sessie en de gegevens die tussen een webserver en een client worden uitgewisseld. Met de `header`-functie kan je verschillende acties ondernemen, zoals het overschrijven van standaard HTTP-headers, het verzenden van aangepaste headers, en het omleiden van pagina’s.
De functie `header` stuurt een ruwe HTTP-header naar de browser voordat er ook maar enige output is verzonden (zoals HTML-tags of gewoon tekst). Dit betekent dat je deze functie altijd aan het begin van je script moet plaatsen. Hier is de syntaxis van de `header`-functie:
```
header(string $header, bool $replace = true, int $http_response_code = 0)
```
- $header: Dit is de string die de header-tekst zelf bevat. Dit kan bijvoorbeeld een content-type specificatie zijn, een nieuwe locatie-URL, etc.
- $replace: Dit optionele argument bepaalt of de eerder verzonden header met dezelfde naam moet worden vervangen. Dit staat standaard op `true`.
- $http_response_code: Dit is ook een optioneel argument waarmee je de HTTP-statuscode voor de respons kunt instellen. Bijvoorbeeld, 200 voor succes, 404 voor niet gevonden, 302 voor tijdelijke omleiding, enz.
1. Content-Type Specificatie: \`\`\`php header(“Content-Type: application/json”); \`\`\` Hiermee geef je de browser aan dat de inhoud van het document JSON-gegevens is.
1. Pagina Omleiden: \`\`\`php header(“Location: https://example.com”); exit(); \`\`\` Dit zal de client omleiden naar de gespecificeerde URL. Let op het gebruik van `exit()` om ervoor te zorgen dat er geen verdere code uitgevoerd wordt na de omleiding.
1. Kruis-Domein Toegangscontrole (CORS): \`\`\`php header(“Access-Control-Allow-Origin: \*”); \`\`\` Dit stukje code maakt het mogelijk dat bronnen gedeeld kunnen worden met elke oorsprong (domein).
1. Cache-Control Headers: \`\`\`php header(“Cache-Control: no-cache, no-store, must-revalidate”); header(“Pragma: no-cache”); header(“Expires: 0”); \`\`\` Deze instellingen worden vaak gebruikt om ervoor te zorgen dat de browser geen cache van de pagina maakt.
- Zoals eerder vermeld, moet de `header`-functie altijd worden aangeroepen voordat er output naar de browser is verzonden. Een typische fout is een “headers already sent” melding, die optreedt als je probeert `header` te gebruiken nadat de pagina-output is begonnen.
- Combineren van headers kan handig zijn. Bijvoorbeeld, bij het verzenden van JSON-gegevens na omleiding:
Er zijn verschillende betrouwbare en erkende bronnen die gedetailleerde informatie en documentatie over de `header`-functie in PHP bieden:
1. PHP.net – De officiële documentatie: [PHP.net – header](https://www.php.net/manual/en/function.header.php)
1. Mozilla Developer Network (MDN) – Algemene informatie over HTTP Headers: [MDN – HTTP headers](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers)
1. W3Schools – Praktische voorbeelden en uitleg: [W3Schools – header](https://www.w3schools.com/php/func_http_header.asp)
Door deze bronnen te raadplegen, kun je een meer diepgaande kennis verkrijgen over hoe de `header`-functie werkt en hoe deze te gebruiken in verschillende situaties.